home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / p4 / p4-1_2b.lha / p4-1.2b / contrib / lm_master.c next >
C/C++ Source or Header  |  1992-10-19  |  1KB  |  54 lines

  1. #include "p4.h"
  2. #include "lm.h"
  3.  
  4. main(argc,argv)
  5. int argc;
  6. char **argv;
  7. {
  8. char buf[100];
  9. int i, n;
  10. int size;
  11. int slv = 3;
  12. int nmsgs;
  13. int nslaves;
  14. int start, end;
  15. int type;
  16. char msg[200];
  17. char *rcvd_msg;
  18. int from,rcvd_msg_len;
  19.  
  20.     p4_initenv(&argc,argv);
  21.     p4_create_procgroup();
  22.  
  23.     p4_dprintf("entering master user code\n");
  24.  
  25.     nslaves = p4_num_total_ids() - 1;
  26.     p4_get_cluster_ids(&start, &end);
  27.  
  28.     p4_dprintfl(9,"got nslaves=%d start=%d end=%d\n",nslaves,start,end);
  29.  
  30.     printf("enter a number of messages:\n");
  31.     scanf("%d",&nmsgs);
  32.     
  33.     type = CNTL;
  34.     sprintf(msg,"%d",nmsgs);
  35.     for (i=1; i <= nslaves; i++)
  36.     {
  37.     p4_dprintfl(9,"sending msg %s to %d size=%d\n",msg,i,sizeof(msg));
  38.     p4_send(type, i, msg, sizeof(msg));
  39.     }
  40.     for (i=1; i <= nslaves; i++)
  41.     {
  42.         type = -1;
  43.         from = -1;
  44.     rcvd_msg = NULL;
  45.     p4_recv(&type, &from, &rcvd_msg, &rcvd_msg_len);
  46.     p4_dprintfl(9,"recvd msg from %d\n",from);
  47.     }
  48.  
  49.     p4_dprintfl(9,"master entering waitforend\n");
  50.     p4_wait_for_end();
  51.     p4_dprintfl(9,"master past waitforend\n");
  52.     p4_dprintf("exiting master user code\n");
  53. }
  54.